<!DOCTYPE html><html lang="zh-CN" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"><title>GNN综述研读 | 杨一赫的博客</title><meta name="author" content="杨一赫"><meta name="copyright" content="杨一赫"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta name="description" content="GNN综述研读 介绍 本文为两篇综述文章的解读，第二节、第三节各为一篇文章，以期全面详实的认识、梳理、掌握此领域模型核心思想。 A Comprehensive Survey on Graph Neural Networks INTRODUCTION    类型 期刊文章     作者 Zonghan Wu   日期 2021-01   期刊 IEEE">
<meta property="og:type" content="article">
<meta property="og:title" content="GNN综述研读">
<meta property="og:url" content="http://yang1he.gitee.io/2022/11/23/GNN%E7%BB%BC%E8%BF%B0%E7%A0%94%E8%AF%BB/index.html">
<meta property="og:site_name" content="杨一赫的博客">
<meta property="og:description" content="GNN综述研读 介绍 本文为两篇综述文章的解读，第二节、第三节各为一篇文章，以期全面详实的认识、梳理、掌握此领域模型核心思想。 A Comprehensive Survey on Graph Neural Networks INTRODUCTION    类型 期刊文章     作者 Zonghan Wu   日期 2021-01   期刊 IEEE">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/v2-a489a8f84b998439d6e681dc07a13080_720w.webp">
<meta property="article:published_time" content="2022-11-22T16:00:00.000Z">
<meta property="article:modified_time" content="2023-02-23T12:21:55.204Z">
<meta property="article:author" content="杨一赫">
<meta property="article:tag" content="-学术文章">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/v2-a489a8f84b998439d6e681dc07a13080_720w.webp"><link rel="shortcut icon" href="/img/favicon.png"><link rel="canonical" href="http://yang1he.gitee.io/2022/11/23/GNN%E7%BB%BC%E8%BF%B0%E7%A0%94%E8%AF%BB/"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//hm.baidu.com"/><link rel="preconnect" href="//busuanzi.ibruce.info"/><meta/><meta/><link rel="stylesheet" href="/css/index.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free/css/all.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox.min.css" media="print" onload="this.media='all'"><script>var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?6b9e2c1c603a1d11d43a9822bdd68c2c";
  var s = document.getElementsByTagName("script")[0]; 
  s.parentNode.insertBefore(hm, s);
})();
</script><script>const GLOBAL_CONFIG = { 
  root: '/',
  algolia: undefined,
  localSearch: {"path":"/search.xml","preload":false,"languages":{"hits_empty":"找不到您查询的内容：${query}"}},
  translate: undefined,
  noticeOutdate: {"limitDay":90,"position":"top","messagePrev":"距离上次更新已经","messageNext":"天本文可能会过期"},
  highlight: {"plugin":"highlighjs","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":false},
  copy: {
    success: '复制成功',
    error: '复制错误',
    noSupport: '浏览器不支持'
  },
  relativeDate: {
    homepage: false,
    post: false
  },
  runtime: '天',
  date_suffix: {
    just: '刚刚',
    min: '分钟前',
    hour: '小时前',
    day: '天前',
    month: '个月前'
  },
  copyright: undefined,
  lightbox: 'fancybox',
  Snackbar: undefined,
  source: {
    justifiedGallery: {
      js: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery/dist/fjGallery.min.js',
      css: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery/dist/fjGallery.min.css'
    }
  },
  isPhotoFigcaption: false,
  islazyload: false,
  isAnchor: false
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
  title: 'GNN综述研读',
  isPost: true,
  isHome: false,
  isHighlightShrink: false,
  isToc: true,
  postUpdate: '2023-02-23 20:21:55'
}</script><noscript><style type="text/css">
  #nav {
    opacity: 1
  }
  .justified-gallery img {
    opacity: 1
  }

  #recent-posts time,
  #post-meta time {
    display: inline !important
  }
</style></noscript><script>(win=>{
    win.saveToLocal = {
      set: function setWithExpiry(key, value, ttl) {
        if (ttl === 0) return
        const now = new Date()
        const expiryDay = ttl * 86400000
        const item = {
          value: value,
          expiry: now.getTime() + expiryDay,
        }
        localStorage.setItem(key, JSON.stringify(item))
      },

      get: function getWithExpiry(key) {
        const itemStr = localStorage.getItem(key)

        if (!itemStr) {
          return undefined
        }
        const item = JSON.parse(itemStr)
        const now = new Date()

        if (now.getTime() > item.expiry) {
          localStorage.removeItem(key)
          return undefined
        }
        return item.value
      }
    }
  
    win.getScript = url => new Promise((resolve, reject) => {
      const script = document.createElement('script')
      script.src = url
      script.async = true
      script.onerror = reject
      script.onload = script.onreadystatechange = function() {
        const loadState = this.readyState
        if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
        script.onload = script.onreadystatechange = null
        resolve()
      }
      document.head.appendChild(script)
    })
  
      win.activateDarkMode = function () {
        document.documentElement.setAttribute('data-theme', 'dark')
        if (document.querySelector('meta[name="theme-color"]') !== null) {
          document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
        }
      }
      win.activateLightMode = function () {
        document.documentElement.setAttribute('data-theme', 'light')
        if (document.querySelector('meta[name="theme-color"]') !== null) {
          document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
        }
      }
      const t = saveToLocal.get('theme')
    
          if (t === 'dark') activateDarkMode()
          else if (t === 'light') activateLightMode()
        
      const asideStatus = saveToLocal.get('aside-status')
      if (asideStatus !== undefined) {
        if (asideStatus === 'hide') {
          document.documentElement.classList.add('hide-aside')
        } else {
          document.documentElement.classList.remove('hide-aside')
        }
      }
    
    const detectApple = () => {
      if(/iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)){
        document.documentElement.classList.add('apple')
      }
    }
    detectApple()
    })(window)</script><script src="https://cdn.jsdelivr.net/npm/echarts@5.3.0/dist/echarts.min.js"></script><script src="https://cdn.jsdelivr.net/npm/echarts@4.7.0/map/js/china.min.js"></script><script src="node_modules/simplex-noise/simplex-noise.js"></script><meta name="generator" content="Hexo 6.3.0"><link rel="alternate" href="/atom.xml" title="杨一赫的博客" type="application/atom+xml">
</head><body><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/pace-js/themes/blue/pace-theme-minimal.min.css"/><script src="https://cdn.jsdelivr.net/npm/pace-js/pace.min.js"></script><div id="web_bg"></div><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="avatar-img is-center"><img src="/img/favicon2.jpg" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="sidebar-site-data site-data is-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">14</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">7</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">16</div></a></div><hr/><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fa fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fa fa-archive"></i><span> 归档</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fa fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fa fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="/about"><i class="fa-fw fa fa-heart"></i><span> 关于我</span></a></div><div class="menus_item"><a class="site-page" href="/messageboard/"><i class="fa-fw fa fa-paper-plane"></i><span> 留言板</span></a></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fa fa-link"></i><span> 友链</span></a></div></div></div></div><div class="post" id="body-wrap"><header class="post-bg" id="page-header" style="background-image: url('https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/v2-ab55efd907668af3156e6764bd29b873_720w.webp')"><nav id="nav"><span id="blog_name"><a id="site-name" href="/">杨一赫的博客</a></span><div id="menus"><div id="search-button"><a class="site-page social-icon search"><i class="fas fa-search fa-fw"></i><span> 搜索</span></a></div><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fa fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fa fa-archive"></i><span> 归档</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fa fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fa fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="/about"><i class="fa-fw fa fa-heart"></i><span> 关于我</span></a></div><div class="menus_item"><a class="site-page" href="/messageboard/"><i class="fa-fw fa fa-paper-plane"></i><span> 留言板</span></a></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fa fa-link"></i><span> 友链</span></a></div></div><div id="toggle-menu"><a class="site-page"><i class="fas fa-bars fa-fw"></i></a></div></div></nav><div id="post-info"><h1 class="post-title">GNN综述研读</h1><div id="post-meta"><div class="meta-firstline"><span class="post-meta-date"><i class="far fa-calendar-alt fa-fw post-meta-icon"></i><span class="post-meta-label">发表于</span><time class="post-meta-date-created" datetime="2022-11-22T16:00:00.000Z" title="发表于 2022-11-23 00:00:00">2022-11-23</time><span class="post-meta-separator">|</span><i class="fas fa-history fa-fw post-meta-icon"></i><span class="post-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2023-02-23T12:21:55.204Z" title="更新于 2023-02-23 20:21:55">2023-02-23</time></span><span class="post-meta-categories"><span class="post-meta-separator">|</span><i class="fas fa-inbox fa-fw post-meta-icon"></i><a class="post-meta-categories" href="/categories/%E5%9B%BE%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/">图深度学习</a></span></div><div class="meta-secondline"><span class="post-meta-separator">|</span><span class="post-meta-pv-cv" id="" data-flag-title="GNN综述研读"><i class="far fa-eye fa-fw post-meta-icon"></i><span class="post-meta-label">阅读量:</span><span id="busuanzi_value_page_pv"><i class="fa-solid fa-spinner fa-spin"></i></span></span></div></div></div></header><main class="layout" id="content-inner"><div id="post"><article class="post-content" id="article-container"><h1 id="gnn综述研读">GNN综述研读</h1>
<h2 id="介绍">介绍</h2>
<p>本文为两篇综述文章的解读，第二节、第三节各为一篇文章，以期全面详实的认识、梳理、掌握此领域模型核心思想。</p>
<h2 id="a-comprehensive-survey-on-graph-neural-networks">A Comprehensive
Survey on Graph Neural Networks</h2>
<h3 id="introduction">INTRODUCTION</h3>
<table>
<thead>
<tr class="header">
<th>类型</th>
<th>期刊文章</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>作者</td>
<td>Zonghan Wu</td>
</tr>
<tr class="even">
<td>日期</td>
<td>2021-01</td>
</tr>
<tr class="odd">
<td>期刊</td>
<td>IEEE Transactions on Neural Networks and Learning Systems</td>
</tr>
<tr class="even">
<td>系列</td>
<td>11.683Q1计算机科学，人工智能【中科院一区】</td>
</tr>
</tbody>
</table>
<h3 id="引言">引言</h3>
<p>最近，越来越多的研究开始将深度学习方法应用到图数据领域。受到深度学习领域进展的驱动，研究人员在设计图神经网络的架构时借鉴了卷积网络、循环网络和深度自编码器的思想。为了应对图数据的复杂性，重要运算的泛化和定义在过去几年中迅速发展。例如，图
1 展示了受标准 2D 卷积启发得到的图卷积。</p>
<figure>
<img
src="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/v2-07c9311c15a0f2490927c8c1bf843246_720w.webp"
alt="img" />
<figcaption aria-hidden="true">img</figcaption>
</figure>
<h4 id="神经网络简史">神经网络简史</h4>
<p>图神经网络的概念首先由 Gori 等人（2005）提出，并由 Scarselli
等人（2009）进一步阐明。这些早期的研究以迭代的方式通过循环神经架构传播邻近信息来学习目标节点的表示，直到达到稳定的固定点。该过程所需计算量庞大，而近来也有许多研究致力于解决这个难题。在本文中，图神经网络代表的是所有用于图数据的深度学习方法。</p>
<p>受到卷积网络在计算机视觉领域所获巨大成功的激励，近来出现了很多为图数据重新定义卷积概念的方法。这些方法属于图卷积网络（GCN）的范畴。Bruna
等人（2013）提出了关于图卷积网络的第一项重要研究，他们基于谱图论（spectral
graph
theory）开发了一种图卷积的变体。自此，基于谱的图卷积网络不断改进、拓展、进阶。由于谱方法通常同时处理整个图，并且难以并行或扩展到大图上，基于空间的图卷积网络开始快速发展。这些方法通过聚集近邻节点的信息，直接在图结构上执行卷积。结合采样策略，计算可以在一个批量的节点而不是整个图中执行，这种做法有望提高效率。</p>
<p>除了图卷积网络，近几年还开发出了很多替代的图神经网络。这些方法包括图注意力网络（GAT）、图自编码器、图生成网络以及图时空网络。关于这些方法的分类细节详见第三章。</p>
<p>图神经网络相关研究。Bronstein
等人用符号几何深度学习概述了非欧几里得领域的深度学习方法，包括图和流形。虽然这是对图卷积网络的第一次回顾，但这一项研究遗漏了几个基于空间的重要方法，这些方法更新了最新的基准。此外，这项调查没有囊括很多新开发的架构，这些架构的重要性不亚于图卷积网络。</p>
<p>对于另一项研究，Battaglia
等人将图网络定位为从关系数据中学习的构建块，并在统一的框架下回顾了部分图神经网络。然而，他们整体的框架是高度抽象的，失去了每种方法在原论文中的见解。Lee
等人 [30] 对图注意力模型（一种图神经网络）进行了部分调查。最近，Zhang
等人提出了一项关于图深度学习的最新调查，却忽略了对图生成网络和图时空网络的研究。总之，现有的研究没有一个对图神经网络进行全面的回顾，只覆盖了部分图卷积神经网络且检查的研究有限，因此遗漏了图神经网络替代方法的最新进展，如图生成网络和图时空网络。</p>
<p>图神经网络 vs.
网络嵌入。对图神经网络的研究与图嵌入或网络嵌入紧密相关，这也是数据挖掘和机器学习社区日益关注的一个话题。网络嵌入旨在通过保留网络拓扑架构和节点内容信息，将网络顶点表示到低维向量空间中，以使任何后续的图分析任务（如分类、聚类和推荐）都可以通过使用简单的现成学习机算法（如用于分类的支持向量机）轻松执行。许多网络嵌入算法都是无监督算法，它们大致可分为三组
[32]，即矩阵分解、随机游走和深度学习方法。用于网络嵌入的深度学习方法同时还属于图神经网络，包括基于图自编码器的算法（如
DNGR [41] 和 SDNE ）和具有无监督训练的图卷积神经网络（如 GraphSage）。图
2 描述了本文中网络嵌入和图神经网络的区别。</p>
<figure>
<img
src="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/v2-4cb2f585a85bfdb29426fdee06931f98_720w.webp"
alt="img" />
<figcaption aria-hidden="true">img</figcaption>
</figure>
<h4 id="本文的贡献">本文的贡献</h4>
<ul>
<li>新的分类体系：考虑到深度学习在图数据上的研究与日俱增，提出了图神经网络（GNN）的新分类体系。在这种分类体系下，GNN
被分成了 5
个类别：图卷积网络、图注意力网络、图自编码器、图生成网络和图时空网络。确定了图神经网络和网络嵌入之间的区别，并在不同的图神经网络架构之间建立了联系。</li>
<li>全面的概述：这个综述提供了在图数据上的现代深度学习技术的全面概述。对每一种类型的图神经网络，提供了表征算法的细节描述，并做了必要的对比和对应算法的总结。</li>
<li>丰富的资源：这篇综述提供了图神经网络的丰富资源，其中包括当前最佳算法、基准数据集、开源代码和实践应用。这篇综述可以作为理解、使用和开发不同实际应用的深度学习方法的实践指南。</li>
<li>未来方向：这篇综述还强调了已有算法的当前限制，指出了这个快速发展领域未来的可能方向。</li>
</ul>
<h3 id="methods">Methods</h3>
<h4 id="基础概念和符号表示">基础概念和符号表示</h4>
<p>提供基础图概念的定义。为了方便查询，在表 1 总结了常用的符号</p>
<figure>
<img
src="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/v2-ea8c6b3d06ad93d818a9065483b50bbe_720w.webp"
alt="img" />
<figcaption aria-hidden="true">img</figcaption>
</figure>
<center style="color:#C0C0C0;text-decoration:underline">
表1
</center>
<figure>
<img
src="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/v2-9854bd8f1f6b9d3d0579ea160f3e190e_r.jpg"
alt="img" />
<figcaption aria-hidden="true">img</figcaption>
</figure>
<figure>
<img
src="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/v2-ababf8bb8d612004e31baad2df5f36bf_720w.webp"
alt="img" />
<figcaption aria-hidden="true">img</figcaption>
</figure>
<figure>
<img
src="%E4%B8%BB%E6%96%87%E6%A1%A3/v2-3f437f4275bcfe94bdb9ab846ca29998_720w.webp"
alt="img" />
<figcaption aria-hidden="true">img</figcaption>
</figure>
<figure>
<img
src="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/v2-6e14898c9427c8da8079d18214919c9d_r.jpg"
alt="img" />
<figcaption aria-hidden="true">img</figcaption>
</figure>
<h4 id="图神经网络的分类方法">图神经网络的分类方法</h4>
<p>这一部分内容给出了图神经网络的分类方法。考虑到了所有能与神经架构组合成图神经网络的可微图模型，把图神经网络最终分类为：图卷积网络、图注意力网络、图自编码器、图生成网络和图时空网络。这些网络中，图卷积网络在捕捉架构依存关系上扮演着核心角色。如下图
3 所示，属于其他类别的方法部分使用图卷积网络作为基础。表 2
总结了每个类别的代表性方法。</p>
<figure>
<img
src="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/v2-a489a8f84b998439d6e681dc07a13080_720w.webp"
alt="img" />
<figcaption aria-hidden="true">img</figcaption>
</figure>
<center style="color:#C0C0C0;text-decoration:underline">
图3
</center>
<figure>
<img
src="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/v2-63d8f6b44e18255a18723e46fb8926ff_720w.webp"
alt="img" />
<figcaption aria-hidden="true">img</figcaption>
</figure>
<center style="color:#C0C0C0;text-decoration:underline">
表2
</center>
<p>图 4：有多层 GCN 层的图卷积网络变体。通过从邻域聚合特征信息，一个 GCN
层把每个节点的隐藏表征进行压缩。在特征聚合之后，非线性置换被应用到生成的输出上。通过多层堆叠，每个节点的最终隐藏表征从后续邻域获得信息。</p>
<figure>
<img
src="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/v2-fda906109c259ed2bd41fef079741db8_r.jpg"
alt="img" />
<figcaption aria-hidden="true">img</figcaption>
</figure>
<center style="color:#C0C0C0;text-decoration:underline">
图4
</center>
<h4 id="现存的整体框架">现存的整体框架</h4>
<figure>
<img
src="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/v2-6cfc8216289f6dad0edff8cf748647da_r.jpg"
alt="img" />
<figcaption aria-hidden="true">img</figcaption>
</figure>
<center style="color:#C0C0C0;text-decoration:underline">
表3
</center>
<p><strong>端到端训练框架</strong>。图卷积网络可以以（半）监督或纯无监督的方式在端到端学习框架中训练，依赖于学习任务和可用的标签信息。</p>
<ul>
<li>节点级分类的半监督学习。给定部分节点被标记的单个网络，图卷积网络可以学习到一个鲁棒的模型，高效识别未标记节点的类别标签
[14]。为此，可以通过堆叠一系列的图卷积层和 softmax
层来建立端到端框架进行多类别分类。</li>
<li>图级分类的监督学习。给定一个图数据集，图级分类旨在预测整个图的类别标签
[55], [56], [74],
[75]。这一任务的端到端学习可以利用一个结合了图卷积层和池化步骤的框架实现
[55], [56]。</li>
<li>图嵌入的无监督学习。如果图中无可用类别标签，可以在一个端到端框架中以完全无监督的方式学习图嵌入。这些算法通过两种方式利用边级（edge-level）信息。一种简单的方法是采用自编码器框架，其中编码器使用图卷积层将图嵌进潜在表征中，然后使用解码器重构图结构
[59],
[61]。另一种方法是利用负采样方法，采样一部分节点对作为负对（negative
pair），而图中已有的节点作为正对（positive pair）。然后在卷积层之后应用
logistic 回归层，以用于端到端学习 [24]。</li>
</ul>
<h3 id="图卷积神经网络">图卷积神经网络</h3>
<p>这一章概览图卷积网络（GCN），这是很多复杂图神经网络模型的基础。GCN
方法分为两类，分别基于谱和空间。基于谱的方法通过从图信号处理的角度引入滤波器来定义图卷积，其中图卷积运算被解释为从图信号中去除噪声。基于空间的方法将图卷积表征为聚合来自近邻的特征信息。虽然
GCN 在节点级别上运行，但是图池化模块可以与 GCN
层交替，将图粗粒化为高级子结构。如图 5a
所示，这种架构设计可用于提取图级表征、执行图分类任务。下文会分别介绍、基于空间的
GCN 和图池化模块。</p>
<p>基于谱的 GCN 部分介绍了其背景、方法等，这些方法包括 Spectral
CNN、Chebyshev Spectral CNN (ChebNet)、First order of ChebNet
(1stChebNet) 和 Adaptive Graph Convolution Network (AGCN)。</p>
<p>基于空间的 GCN 分为两类：Recurrent-based Spatial GCN 和 Composition
Based Spatial GCN。前者包括图神经网络（Graph Neural
Networks，GNN）、门控图神经网络（Gated Graph Neural Networks，GGNN）和
Stochastic Steady-state Embedding (SSE)。后者涉及了：Message Passing
Neural Networks
(MPNN)、GraphSage。此外，这部分还介绍了这两大类之外的空间 GCN 变体，包括
Diffusion Convolution Neural Networks (DCNN)、PATCHY-SAN、Large-scale
Graph Convolution Networks (LGCN)、Mixture Model Network (MoNet)。</p>
<figure>
<img
src="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/v2-ab55efd907668af3156e6764bd29b873_720w.webp"
alt="img" />
<figcaption aria-hidden="true">img</figcaption>
</figure>
<figure>
<img
src="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/v2-fd088ed5c4077342b494d52ef31e8395_r.jpg"
alt="img" />
<figcaption aria-hidden="true">img</figcaption>
</figure>
<center style="color:#C0C0C0;text-decoration:underline">
图5
</center>
<h3 id="图注意力网络"><strong>图注意力网络</strong></h3>
<p>注意力机制几乎成为序列任务中的标配。它的价值在于能够聚焦于对象最重要的部分。该机制被证明在多项任务中有用，如机器翻译和自然语言理解。由于注意力机制的模型容量越来越大，图神经网络在聚合信息、集成多个模型的输出、生成重要性导向的随机游走时，可以从注意力机制中获益良多。</p>
<p>这部分介绍了图注意力网络的多种方法，包括图注意力网络（Graph Attention
Network，GAT）、门控注意力网络（Gated Attention
Network，GAAN）、图注意力模型（Graph Attention
Model，GAM）、注意力游走（Attention Walks）。</p>
<p>注意力机制对图神经网络的贡献有三部分，即在聚合特征信息时向不同近邻分配注意力权重、根据注意力权重集成多个模型，以及使用注意力权重引导随机游走。尽管把
GAT 和 GAAN
分类为图注意力网络的两种方法，但是它们都可以作为基于空间的卷积网络。二者的优势是它们可以适应性地学习近邻的重要性权重（如图
6
所示）。但是，由于必须计算每对近邻之间的注意力权重，因此计算成本和内存消耗会快速增长。</p>
<h3 id="图自编码器"><strong>图自编码器</strong></h3>
<p>图自编码器是一类网络嵌入方法，旨在通过神经网络架构将网络顶点表征到低维向量空间。典型的解决方案是使用多层感知机作为编码器来获取节点嵌入，解码器重建节点的近邻统计，如正逐点互信息（positive
pointwise mutual
information，PPMI）或一阶、二阶接近度（proximities）[42]。最近，研究人员尝试在设计图自编码器时用
GCN 作为编码器、结合 GCN 和 GAN，或者结合 LSTM 和 GAN。</p>
<p>这部分介绍了基于 GCN 的自编码器和其他变体。基于 GCN
的自编码器部分介绍了：图自编码器（Graph
Auto-encoder，GAE）、对抗正则化图自编码器（Adversarially Regularized
Graph
Autoencoder，ARGA）。其他变体包括：具备对抗正则化自编码器的网络表征（Network
Representations with Adversarially Regularized
Autoencoders，NetRA）、用于图表征的深度神经网络（Deep Neural Networks
for Graph Representations，DNGR）、结构化深度网络嵌入（Structural Deep
Network Embedding，SDNE）、深度递归网络嵌入（Deep Recursive Network
Embedding，DRNE）。</p>
<p>DNGR 和 SDNE 仅基于拓扑结构学习节点嵌入，而 GAE、ARGA、NetRA 和 DRNE
需要基于拓扑信息和节点内容特征学习节点嵌入。图自编码器的一个挑战是邻接矩阵的稀疏性，会导致解码器正条目（positive
entry）的数量远远少于负条目。为了解决这个问题，DNGR
重建了一个较稠密的矩阵——PPMI 矩阵，SDNE 对邻接矩阵的零条目进行惩罚，GAE
重新调整邻接矩阵中项的权重，NetRA 将图线性化为序列</p>
<h3 id="图生成网络"><strong>图生成网络</strong></h3>
<p>图生成网络的目标是基于一组可观察图来生成图。其中的很多方法都是领域特定的。例如，在分子图生成方面，一些研究将分子图的表征建模为字符串
SMILES [94], [95], [96],
[97]。在自然语言处理中，生成语义图或知识图通常需要一个给定的句子 [98],
[99]。最近，研究人员又提出了多个通用方法。一些研究将生成过程看成节点或边的形成
[64], [65]，而另一些则使用生成对抗训练 [66], [67]。该领域的方法要么使用
GCN 作为构造块，要么使用不同的架构。</p>
<p>这部分介绍了基于 GCN
的图生成网络和其他图生成网络。前者包括：分子生成对抗网络（Molecular
Generative Adversarial Networks，MolGAN）和深度图生成模型（Deep
Generative Models of Graphs，DGMG）；后者涉及
GraphRNN（通过两级循环神经网络使用深度图生成模型）和 NetGAN（结合 LSTM
和 Wasserstein GAN 从基于随机游走的方法中生成图）。</p>
<figure>
<img
src="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/v2-7a681b660133244104527f53bb5ba3f7_r.jpg"
alt="img" />
<figcaption aria-hidden="true">img</figcaption>
</figure>
<center style="color:#C0C0C0;text-decoration:underline">
图6
</center>
<h3 id="数据集">数据集</h3>
<p>本文所归纳的数据集以及对应的详细信息如下图7</p>
<figure>
<img
src="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/v2-855e2ec5025eb02faa2c1650df5cfb11_720w.webp"
alt="img" />
<figcaption aria-hidden="true">img</figcaption>
</figure>
<center style="color:#C0C0C0;text-decoration:underline">
图7
</center>
<h3 id="个人心得以及评价">个人心得以及评价</h3>
<h4 id="个人心得">个人心得</h4>
<p>本文研究背景在于，越来越多的应用程序从非欧几里得域生成数据，并表示为具有复杂关系和对象之间相互依赖关系的图。图形数据的复杂性给现有的机器学习算法带来了重大挑战.深度网络的最新进展推进了模式识别和数据挖掘领域的研究。目标检测、机器翻译、语音识别等许多机器学习任务曾高度依赖手工特征工程来提取信息特征集合，但多种端到端深度学习方式（即卷积神经网络、长短期记忆网络和自编码器）改变了这种状况。</p>
<p>深度学习在多个领域的成功主要归功于计算资源的快速发展（如
GPU）、大量训练数据的收集，还有深度学习从欧几里得数据（如图像、文本和视频）中提取潜在表征的有效性。例如
CNN
可以利用平移不变性、局部连通性和图像数据语意合成性，从而提取出与整个数据集共享的局部有意义的特征，用于各种图像分析任务。</p>
<p>尽管深度学习已经在欧几里得数据中取得了很大的成功，但从非欧几里得域生成的数据已经取得更广泛的应用，它们需要有效分析。例如，在电子商务领域，一个基于图的学习系统能够利用用户和产品之间的交互以实现高度精准的推荐。在化学领域，分子被建模为图，新药研发需要测定其生物活性。在论文引用网络中，论文之间通过引用关系互相连接，需要将它们分成不同的类别。</p>
<p>图数据的复杂性对现有机器学习算法提出了重大挑战，因为图数据是不规则的。每张图大小不同、节点无序，一张图中的每个节点都有不同数目的邻近节点，使得一些在图像中容易计算的重要运算（如卷积）不能再直接应用于图。此外，现有机器学习算法的核心假设是实例彼此独立。然而，图数据中的每个实例都与周围的其它实例相关，含有一些复杂的连接信息，用于捕获数据之间的依赖关系，包括引用、朋友关系和相互作用。</p>
<p>本文的意义在于，分析了现有方法的局限性，并从模型深度、可扩展性权衡、异质性和动态性四个方面提出了未来可能的研究方向。</p>
<p>本文按领域介绍了 GNN
的应用，用GNN解决包括计算机视觉、推荐系统、交通、化学等问题。</p>
<p><strong>加深网络</strong>。深度学习的成功在于深度神经架构。例如在图像分类中，模型
ResNet 具有 152
层。但在图网络中，实证研究表明，随着网络层数增加，模型性能急剧下降
[147]。根据论文
[147]，这是由于图卷积的影响，因为它本质上推动相邻节点的表示更加接近彼此，所以理论上，通过无限次卷积，所有节点的表示将收敛到一个点。这导致了一个问题：加深网络是否仍然是学习图结构数据的好策略？</p>
<p>本文的核心思想可以总结为三点：</p>
<p>本文贡献：</p>
<p>（1）提出了一种新的GNN分类方法，将GNN分为：recurrent GNN
(RecGNN，循环GNN)、convolutional GNN(ConvGNN，卷积GNN)、graph
autoencoder(GAE，图自编码器)和spatial-temporal GNN
(STGNN，时空GNN)。</p>
<p>（2）全面的概述：对于每种类型的GNN，都对其中具有代表性的模型进行了详细的描述，并进行了必要的比较，总结了相应的算法。</p>
<p>（3）收集了大量关于GNN的资源，包括最先进的模型、基准数据集、开源代码和实际应用。本文可以作为实践指南，帮助读者理解、使用和开发针对各种实际应用程序的不同深度学习方法。</p>
<p>未来可能考虑的问题：</p>
<ul>
<li>是否有帮助，将深度学习引入自己领域</li>
<li>如何引入，要解决什么样的问题</li>
</ul>
<h2
id="graph-neural-networks-a-review-of-methods-and-applications">Graph
neural networks: A review of methods and applications</h2>
<h3 id="introduction-1">INTRODUCTION</h3>
<table>
<colgroup>
<col style="width: 11%" />
<col style="width: 88%" />
</colgroup>
<thead>
<tr class="header">
<th>类型</th>
<th>期刊文章</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>作者</td>
<td>Jie Zhou</td>
</tr>
<tr class="even">
<td>日期</td>
<td>2020-01-01</td>
</tr>
<tr class="odd">
<td>短标题</td>
<td>Graph neural networks</td>
</tr>
<tr class="even">
<td>馆藏目录</td>
<td>ScienceDirect</td>
</tr>
<tr class="odd">
<td>URL</td>
<td>https://www.sciencedirect.com/science/article/pii/S2666651021000012</td>
</tr>
<tr class="even">
<td>期刊</td>
<td>AI Open</td>
</tr>
</tbody>
</table>
<p>在 AI Open 杂志 2020
年第一卷中，清华大学周界，崔淦渠等人发表的综述性论文《Graph neural
networks: A review of methods and
applications》，其他作者还包括孙茂松、刘知远等。</p>
<p>作者对现有的图神经网络模型进行了细致的总结，归纳出了设计 GNN
模型的一般流程，对其中各个组件的变体展开了讨论，系统地对 GNN
的应用进行了分类整理，并提出了 4 个有待解决的研究问题。</p>
<h3 id="引言-1">引言</h3>
<p>图是一种在各种学习任务中广为使用的非欧数据结构，它包含元素之间丰富的关系信息。图学习重点关注节点分类、链接预测、聚类等任务。</p>
<p>具体而言，研究人员将图学习技术用于对物理系统建模、学习分子特征、预测蛋白质接口、疾病分类等场景。</p>
<p>当针对文本和图像等非结构化数据进行学习时，在提取出的结构（例如句子的依赖树和图像中的场景图）进行推理是十分重要的，这就要求构建图推理模型。图神经网络（GNN）通过图的节点之间的消息传递来获取图中的依赖关系。</p>
<p>近年来，图卷积网络（GCN）、图注意力网络（GAT）、图循环网络（GRN）等
GNN 的变体在许多深度学习任务上展示出了性能上的突破。</p>
<h3 id="gnn怎么创造的">GNN怎么创造的？</h3>
<p>GNN 的研究动机可以追溯到上世纪 90
年代的循环神经网络，此类方法的主要思想是在图上构建状态转移系统，迭代至收敛。尽管它们在诸多任务上取得了成功，但是这种工作机制限制了网络的可扩展性和表征能力。</p>
<p>以卷积神经网络（CNN）为代表的深度神经网络近年来的发展启发了 GNN
的研究人员。CNN
可以提取多尺度的局部空间特征，使用它们构建更好的表征。CNN
成功的关键之处在于局部连接、权值共享以及对多层网络的使用。这种思路对于解决图上的问题也十分重要。</p>
<p>然而，CNN
只能作用于常规的欧氏数据（例如，图像、文本），而这些数据也可以被构建为图的形式。因此，研究人员试图将
CNN 拓展到图领域。</p>
<p>如图 1 所示，很难定义局部的卷积滤波器和池化操作，从而难以将 CNN
从欧几里得域迁移到非欧的域中。将深度神经模型扩展到非欧域中的工作被称为几何深度学习，这一研究领域近年来得到了极大的关注。</p>
<figure>
<img
src="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/v2-7c9896548612f2a61e4088ae112af403_720w.webp"
alt="img" />
<figcaption aria-hidden="true">img</figcaption>
</figure>
<center style="color:#C0C0C0;text-decoration:underline">
图1
</center>
<h4 id="步骤提取图结构">步骤：提取图结构</h4>
<p>首先，需要提取出具体应用中的图结构。将这些应用分为结构化场景和非结构化场景。</p>
<p>在结构化场景下，图结构显式地存在于分子、物理系统、知识图谱等应用中。</p>
<p>在非结构化场景下，图结构是隐式的，首先需要针对具体任务构图（例如，文本中单词的全连接图，图像的场景图）。当得到图结构后，接下来就需要为其设计最优的
GNN 模型。</p>
<h4 id="步骤界定图的类别和规模">步骤：界定图的类别和规模</h4>
<p>在得到图结构后，为了设计最优的 GNN
模型，需要考虑图的类型和规模。可以按照以下正交的标准对图进行分类，也可以将这些分类方法组合起来使用：</p>
<p><strong>有向图/无向图：</strong>有向图中的边从某一个节点指向另一个节点，它能比无向图提供更多的信息。无向图中的边也可以被视为双向边。</p>
<p><strong>同构图/异构图：</strong>同构图中的节点和边的类型都相同，而异构图中的节点和边则具有多种类型。</p>
<p><strong>静态图/动态图：</strong>动态图的输入特征或拓扑结构会随时间变化，此时需要考虑时间信息。</p>
<p>就图的规模而言，目前并没有明确的将图分为「小型图」和「大型图」的标准，随着计算设备的发展，这一分类标准也将不断改变。通常认为，如果图的邻接矩阵或拉普拉斯矩阵无法在设备上存储、处理，则该图为大规模图，此时需要考虑使用某些采样方法。</p>
<h4 id="设计损失函数">设计损失函数</h4>
<p>与大多数机器学习场景一样，在图学习场景下，需要根据任务类型和训练情况涉及损失函数。通常需要考虑三类图学习任务：</p>
<ul>
<li><strong>节点级别：</strong>此类任务包括节点的分类、回归、聚类等。</li>
<li><strong>边级别：</strong>此类任务包括边分类和链接预测。边分类旨在确定图中存在的边的类别；链接预测旨在判断图中某两个节点之间是否存在一条边。</li>
<li><strong>图级别：</strong>此类任务包括图的分类、回归、匹配等任务，它们要求模型学习图的表征。</li>
</ul>
<p>从监督信号的角度而言，图学习任务涉及以下三种训练设定：</p>
<ul>
<li><strong>监督学习：</strong>训练使用有标签数据。</li>
<li><strong>半监督学习：</strong>训练使用少量的有标签节点数据和大量的无标签节点数据。在测试时，转导学习要求模型预测出给定的已见过的无标签节点的标签，而归纳学习则要求模型预测出来自相同分布的无标签节点的标签。大多数节点和边的分类都是半监督学习任务。</li>
<li><strong>无监督学习：</strong>模型只能利用无标签数据提取模式（例如，节点聚类）。</li>
</ul>
<p>在明确了任务类型和训练设定后，可以为任务设计特定的损失函数。例如，可以将交叉熵损失用于节点级的半监督分类任务。</p>
<h4
id="使用计算模块构建图模型"><strong>使用计算模块构建图模型</strong></h4>
<p>在完成了上述步骤之后，可以使用计算模块构建图模型。常用的计算模块包括：</p>
<ul>
<li><strong>传播模块：</strong>该模块被用于在节点之间传播信息，聚合得到的信息可以同时捕获特征和拓扑信息。传播模块通常使用卷积操作和循环操作从邻居节点聚合信息，同时也使用跳跃链接操作从历史表征中聚合信息并缓解过平滑问题。</li>
<li><strong>采样模块：</strong>在处理大型图时，通常需要使用采样模块来组织图上的传播过程。</li>
<li><strong>池化模块：</strong>在表征高层次子图或图的时候，需要使用池化模块从节点中提取信息。</li>
</ul>
<p>如图 2 所示，可以使用上述计算模块构建 GNN
模型。其中，每一层网络中都可以使用卷积操作、循环操作、采样模块和跳跃链接，而池化操作则被用于提取高层次的信息。通常将这些网络层堆叠起来，从而获得更好的表征。</p>
<figure>
<img
src="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/v2-dac794dc6c3d5ca7baf754f0bfb88131_720w.webp"
alt="img" />
<figcaption aria-hidden="true">img</figcaption>
</figure>
<center style="color:#C0C0C0;text-decoration:underline">
图2
</center>
<h3 id="本文最具创新性的工作">本文最具创新性的工作</h3>
<p>根据使用的计算模块，将现有的 GNN 网络按照如图 3
所示的方法进行分类：</p>
<figure>
<img
src="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/v2-a8f85ac8d8aa74bd3e23f7bf1a86f6b7_720w.webp"
alt="img" />
<figcaption aria-hidden="true">img</figcaption>
</figure>
<p><strong>基本的空域方法</strong></p>
<p>空域方法基于图的拓扑结构直接在图上定义卷积操作。对于此类方法而言，最主要的挑战时针对不同尺度的邻域定义卷积操作，并保持
CNN 的局部不变性。</p>
<p>空域方法的代表性工作有：Neural FP、DCNN、PATCHY-SAN、LGCN、GraphSAGE
等方法。</p>
<p>其中，Neural FP
根据节点的度为节点分配权值矩阵，然而它无法被应用于大规模的图。</p>
<p>DCNN 使用转移矩阵定义节点的领域，可以考虑 K 跳节点的信息。</p>
<p>PATCHY-SAN 为每个节点提取邻域中 k
个邻居节点的归一化信息，归一化后的邻域可以被视为传统卷积操作中的感受野。</p>
<p>LGCN 利用 CNN 作为聚合器，在节点的邻域矩阵中执行最大池化操作，得到
top-k 的特征元素，并使用一维 CNN 计算隐藏表征。</p>
<p>GraphSAGE
是目前广为使用的空域图神经网络，它是一种归纳学习框架，通过采样从固定大小的节点的局部邻域中聚合特征，从而生成嵌入：</p>
<figure>
<img
src="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/v2-99607622bc7db1c96e4bdf7025fd695a_720w.webp"
alt="img" />
<figcaption aria-hidden="true">img</figcaption>
</figure>
<p>其中为聚合函数。当聚合函数为平均聚合函数时，GraphSAGE 可以被视为 GCN
的归纳学习版本。</p>
<p>####<strong>基于注意力的空域方法</strong></p>
<p>注意力机制在许多基于序列的任务都取得了成功。一些研究工作试图将注意力操作扩展到图学习领域。基于注意力的图神经网络为邻居节点赋予不同的权值，从而减轻噪声的影响。此类方法的代表性工作主要包括
GAT 和 GaAN。</p>
<p>其中，图注意力网络（GAT）将注意力机制引入了信息传播过程中。它通过自注意力策略为邻居节点赋予注意力权值，计算出每个节点的隐藏状态。节点
v 的隐藏状态可以表征为：</p>
<figure>
<img
src="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/v2-62ccdf62e03c3ab79bbe9c23f5594b04_720w-167345848128955.webp"
alt="img" />
<figcaption aria-hidden="true">img</figcaption>
</figure>
<p>此外，GAT
还使用了多头注意力机制使训练过程更加稳定。引入注意力机制的优势如下：</p>
<p>（1）并行计算节点对之间的注意力值，操作更加高效；</p>
<p>（2）为邻居节点指定权重，该机制可以被用于具有不同度的图节点；</p>
<p>（3）可以被用于归纳学习问题。</p>
<h4 id="空域方法的通用框架"><strong>空域方法的通用框架</strong></h4>
<p>研究人员提出了一系列通用框架，旨在将各种空域方法统一到同一个框架下。</p>
<ul>
<li>Monti 等人提出了混合模型网络
MoNet，它是一种将多种在图或流形上定义的空域方法统一起来的框架。</li>
<li>Gilmer
等人提出了消息传递神经网络（MPNN），它使用消息传递函数统一各种变体。</li>
<li>Wang
等人提出了非局部神经网络（NLNN）统一了多种基于自注意力的方法。</li>
<li>Battaglia
等人提出了图网络（GN）定义了一种用于学习节点级、边级、图级别表征的通用网络。</li>
</ul>
<h3 id="应用场景">应用场景</h3>
<p>目前，图神经网络已经被广泛地应用于各种有监督、半监督、无监督和强化学习场景。这些应用场景可以被分为结构化场景和非结构化场景：</p>
<p><strong>在结构化场景下</strong>，数据具有显式的关系结构。一些科学研究中的问题涉及此类场景，例如，图挖掘、对物理系统和化学系统建模。此外，知识图谱、交通网络、推荐系统等工业应用场景也是结构化的。</p>
<p><strong>在非结构化的场景下</strong>，数据具有隐式的关系结构，或者不存在关系结构。非结构化数据通常包括图像（计算机视觉）和文本（自然语言处理）。</p>
<p>图 6 列举出了一些图神经网络的应用场景：</p>
<p>目前，图神经网络已经被广泛地应用于各种有监督、半监督、无监督和强化学习场景。这些应用场景可以被分为结构化场景和非结构化场景：</p>
<p><strong>在结构化场景下</strong>，数据具有显式的关系结构。一些科学研究中的问题涉及此类场景，例如，图挖掘、对物理系统和化学系统建模。此外，知识图谱、交通网络、推荐系统等工业应用场景也是结构化的。</p>
<p><strong>在非结构化的场景下</strong>，数据具有隐式的关系结构，或者不存在关系结构。非结构化数据通常包括图像（计算机视觉）和文本（自然语言处理）。</p>
<p>图 6 列举出了一些图神经网络的应用场景：<img
src="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/v2-cad4f83be6ec3daf063a4e70179ea873_720w.webp"
alt="img" /></p>
<h3 id="本文所构想的四大方向">本文所构想的四大方向</h3>
<p>尽管 GNN 近年来在诸多领域取得了巨大的成功，但是现在的 GNN
模型仍然存在以下不足：</p>
<p>鲁棒性：GNN
对于对抗性攻击也十分脆弱。与图像和文本上的对抗性攻击相比，防御图上的对抗性攻击不仅仅需要关注特征，还需要考虑结构信息。</p>
<p><strong>可解释性：</strong>对于神经模型而言，可解释性是一个重要的研究方向。GNN
也是一种缺乏可解释性的黑盒模型。近年来，只有少数工作为 GNN
提出了示例级的解释。</p>
<p><strong>图预训练：</strong>基于神经网络的方法需要大量的有标签数据，而获取海量人工标注数据的成本非常高。研究人员提出了自监督学习方法引导模型利用无标签数据进行学习，可以很容易地从该网络或知识库中获取这些无标签数据。人们通过预训练技术在
CV 和 NLP
领域实现了自监督学习。图上的预训练任务仍然面临着一些挑战，例如：如何设计与训练任务，现有的
GNN 模型在学习结构或特征信息方面的有效性等。</p>
<p><strong>复杂图结构：</strong>在现实应用场景下，图结构往往是灵活多变且复杂的。人们提出了多种方法处理复杂的图结构，例如：动态图、异构图。随着社交网络的迅速发展，会涌现出更多的问题、挑战和应用场景，需要更加强大的图模型。</p>
<h3 id="个人心得以及评价-1">个人心得以及评价</h3>
<p>本文研究背景和上一篇文章一致都是越来越多的应用程序从非欧几里得域生成数据，并表示为具有复杂关系和对象之间相互依赖关系的图。图形数据的复杂性给现有的机器学习算法带来了重大挑战.大量的学习任务需要处理含有丰富元素间关系信息的图数据。物理系统建模，学习分子指纹，预测蛋白质界面，分类疾病需要一个模型从图形输入学习。</p>
<p>在其他领域，如从文本和图像等非结构化数据中学习，对提取的结构进行推理，如句子的依赖树和图像的场景图，是一个重要的研究课题，也需要图形推理模型。图神经网络(GNNs)是一种连接主义模型，它通过图节点之间的消息传递来捕获图的依赖性。</p>
<p>与标准神经网络不同，图神经网络保留了一种状态，可以表示任意深度的邻域信息。虽然原始gnn很难训练为不动点，但最近在网络架构、优化技术和并行计算方面的进展使它们能够成功学习。近年来，基于图神经网络变体的系统，如<strong>图卷积网络(GCN)、图注意网络(GAT)、门控图神经网络(GGNN)</strong>在上述许多任务上都表现出了突破性的性能。本文对已有的图神经网络模型进行了详细的回顾，对其应用进行了系统的分类，并提出了四个有待进一步研究的问题。</p>
<p>但本文的贡献在于，对现有的图神经网络模型进行了详细的回顾。介绍了原始模型，它的变体和几个通用框架。研究了这一领域中的各种模型，并提供了统一的表示方式来表示不同模型中的不同传播步骤。通过识别相应的聚合器和更新器，可以很容易地使用的表示来区分不同的模型。
系统地对应用程序进行了分类，并将其分为结构化应用程序、非结构化应用程序和其他应用程序。给出了几个主要的应用程序以及每个场景对应的方法。
提出了四个有待进一步研究的问题。</p>
<p>图神经网络存在过平滑和尺度问题。对于动态图形的处理和非结构化感知数据的建模，目前还没有有效的方法。对每个问题进行了深入的分析，并提出了未来的研究方向。</p>
<p>本文意义非常重要，可以作为一个引路人，使得读者对于GNN领域有了入门的认识，但有不至于过于浅薄。</p>
<p>本文也是按领域介绍了 GNN
的应用，用GNN解决包括计算机视觉、推荐系统、交通、化学等问题。在过去的几年里，图形神经网络已经成为图形领域机器学习任务的强大而实用的工具。这一进步归功于表达能力、模型灵活性和训练算法的进步。</p>
<p>在本调查中，我们对图神经网络进行了全面的回顾。对于GNN模型，我们介绍了它的变体，按照图形类型、传播类型和训练类型进行分类。此外，我们还总结了几种通用框架来统一表示不同的变体。在应用程序分类方面，我们将GNN应用程序分为结构化场景、非结构化场景和其他场景，然后对每个场景中的应用程序进行详细的回顾。最后，我们提出了四个有待解决的问题，指出了图形神经网络的主要挑战和未来的研究方向，包括模型深度、可扩展性、处理动态图形和非结构场景的能力。</p>
</article><div class="post-copyright"><div class="post-copyright__author"><span class="post-copyright-meta">文章作者: </span><span class="post-copyright-info"><a href="http://yang1he.gitee.io">杨一赫</a></span></div><div class="post-copyright__type"><span class="post-copyright-meta">文章链接: </span><span class="post-copyright-info"><a href="http://yang1he.gitee.io/2022/11/23/GNN%E7%BB%BC%E8%BF%B0%E7%A0%94%E8%AF%BB/">http://yang1he.gitee.io/2022/11/23/GNN%E7%BB%BC%E8%BF%B0%E7%A0%94%E8%AF%BB/</a></span></div><div class="post-copyright__notice"><span class="post-copyright-meta">版权声明: </span><span class="post-copyright-info">本博客所有文章除特别声明外，均采用 <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/" target="_blank">CC BY-NC-SA 4.0</a> 许可协议。转载请注明来自 <a href="http://yang1he.gitee.io" target="_blank">杨一赫的博客</a>！</span></div></div><div class="tag_share"><div class="post-meta__tag-list"><a class="post-meta__tags" href="/tags/%E5%AD%A6%E6%9C%AF%E6%96%87%E7%AB%A0/">-学术文章</a></div><div class="post_share"><div class="social-share" data-image="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/v2-a489a8f84b998439d6e681dc07a13080_720w.webp" data-sites="facebook,twitter,wechat,weibo,qq"></div><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/butterfly-extsrc/sharejs/dist/css/share.min.css" media="print" onload="this.media='all'"><script src="https://cdn.jsdelivr.net/npm/butterfly-extsrc/sharejs/dist/js/social-share.min.js" defer></script></div></div><nav class="pagination-post" id="pagination"><div class="prev-post pull-left"><a href="/2022/12/05/%E8%81%9A%E7%B1%BB%E5%88%86%E6%9E%90--%E5%9F%BA%E4%BA%8E%E5%85%B1%E4%BA%AB%E5%8D%95%E8%BD%A6%E6%95%B0%E6%8D%AE%E9%9B%86/"><img class="prev-cover" src="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/output_40_0.png" onerror="onerror=null;src='/img/404.jpg'" alt="cover of previous post"><div class="pagination-info"><div class="label">上一篇</div><div class="prev_info">聚类分析--基于共享单车数据集</div></div></a></div><div class="next-post pull-right"><a href="/2022/10/05/pytorch%E5%AE%9E%E7%8E%B0%E6%89%8B%E5%86%99%E6%95%B0%E5%AD%97%E8%AF%86%E5%88%AB/"><img class="next-cover" src="/img/rick1.jpg" onerror="onerror=null;src='/img/404.jpg'" alt="cover of next post"><div class="pagination-info"><div class="label">下一篇</div><div class="next_info">pytorch实现手写数字识别</div></div></a></div></nav><div class="relatedPosts"><div class="headline"><i class="fas fa-thumbs-up fa-fw"></i><span>相关推荐</span></div><div class="relatedPosts-list"><div><a href="/2022/09/15/A%20Multi-Layer%20Fusion%20Neural%20Network/" title="A Multi-Layer Fusion Neural Network"><img class="cover" src="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/image-20220912135851165.png" alt="cover"><div class="content is-center"><div class="date"><i class="far fa-calendar-alt fa-fw"></i> 2022-09-15</div><div class="title">A Multi-Layer Fusion Neural Network</div></div></a></div><div><a href="/2023/06/24/An%20Intelligent%20Mobile%20Prediction%20method/" title="An Intelligent Mobile Prediction method with Mini-batch HTIA-based Seq2Seq Networks"><img class="cover" src="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/model_00.png" alt="cover"><div class="content is-center"><div class="date"><i class="far fa-calendar-alt fa-fw"></i> 2023-06-24</div><div class="title">An Intelligent Mobile Prediction method with Mini-batch HTIA-based Seq2Seq Networks</div></div></a></div><div><a href="/2023/02/23/%E5%8F%8D%E5%90%91%E4%BC%A0%E6%92%AD%E7%9A%84%E8%AE%A1%E7%AE%97%E2%80%94%E2%80%94%E6%89%8B%E6%92%95BP%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/" title="反向传播的计算——手撕BP神经网络(1)"><img class="cover" src="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E9%A2%981.drawio.svg" alt="cover"><div class="content is-center"><div class="date"><i class="far fa-calendar-alt fa-fw"></i> 2023-02-23</div><div class="title">反向传播的计算——手撕BP神经网络(1)</div></div></a></div><div><a href="/2023/02/24/%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E6%A1%88%E4%BE%8B%E5%B1%95%E7%A4%BA/" title="数据可视化案例展示"><img class="cover" src="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/image-20230224154947463.png" alt="cover"><div class="content is-center"><div class="date"><i class="far fa-calendar-alt fa-fw"></i> 2023-02-24</div><div class="title">数据可视化案例展示</div></div></a></div></div></div><hr/><div id="post-comment"><div class="comment-head"><div class="comment-headline"><i class="fas fa-comments fa-fw"></i><span> 评论</span></div></div><div class="comment-wrap"><div><div id="gitalk-container"></div></div></div></div></div><div class="aside-content" id="aside-content"><div class="card-widget card-info"><div class="is-center"><div class="avatar-img"><img src="/img/favicon2.jpg" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/></div><div class="author-info__name">杨一赫</div><div class="author-info__description">阳光开朗大男孩</div></div><div class="card-info-data site-data is-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">14</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">7</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">16</div></a></div><a id="card-info-btn" target="_blank" rel="noopener" href="https://gitee.com/yang1he"><i class="fab fa-github"></i><span>gitee</span></a></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn fa-shake"></i><span>公告</span></div><div class="announcement_content">平平无奇的网站</div></div><div class="sticky_layout"><div class="card-widget" id="card-toc"><div class="item-headline"><i class="fas fa-stream"></i><span>目录</span><span class="toc-percentage"></span></div><div class="toc-content is-expand"><ol class="toc"><li class="toc-item toc-level-1"><a class="toc-link" href="#gnn%E7%BB%BC%E8%BF%B0%E7%A0%94%E8%AF%BB"><span class="toc-number">1.</span> <span class="toc-text">GNN综述研读</span></a><ol class="toc-child"><li class="toc-item toc-level-2"><a class="toc-link" href="#%E4%BB%8B%E7%BB%8D"><span class="toc-number">1.1.</span> <span class="toc-text">介绍</span></a></li><li class="toc-item toc-level-2"><a class="toc-link" href="#a-comprehensive-survey-on-graph-neural-networks"><span class="toc-number">1.2.</span> <span class="toc-text">A Comprehensive
Survey on Graph Neural Networks</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#introduction"><span class="toc-number">1.2.1.</span> <span class="toc-text">INTRODUCTION</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%BC%95%E8%A8%80"><span class="toc-number">1.2.2.</span> <span class="toc-text">引言</span></a><ol class="toc-child"><li class="toc-item toc-level-4"><a class="toc-link" href="#%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C%E7%AE%80%E5%8F%B2"><span class="toc-number">1.2.2.1.</span> <span class="toc-text">神经网络简史</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%9C%AC%E6%96%87%E7%9A%84%E8%B4%A1%E7%8C%AE"><span class="toc-number">1.2.2.2.</span> <span class="toc-text">本文的贡献</span></a></li></ol></li><li class="toc-item toc-level-3"><a class="toc-link" href="#methods"><span class="toc-number">1.2.3.</span> <span class="toc-text">Methods</span></a><ol class="toc-child"><li class="toc-item toc-level-4"><a class="toc-link" href="#%E5%9F%BA%E7%A1%80%E6%A6%82%E5%BF%B5%E5%92%8C%E7%AC%A6%E5%8F%B7%E8%A1%A8%E7%A4%BA"><span class="toc-number">1.2.3.1.</span> <span class="toc-text">基础概念和符号表示</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E5%9B%BE%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C%E7%9A%84%E5%88%86%E7%B1%BB%E6%96%B9%E6%B3%95"><span class="toc-number">1.2.3.2.</span> <span class="toc-text">图神经网络的分类方法</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E7%8E%B0%E5%AD%98%E7%9A%84%E6%95%B4%E4%BD%93%E6%A1%86%E6%9E%B6"><span class="toc-number">1.2.3.3.</span> <span class="toc-text">现存的整体框架</span></a></li></ol></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%9B%BE%E5%8D%B7%E7%A7%AF%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C"><span class="toc-number">1.2.4.</span> <span class="toc-text">图卷积神经网络</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%9B%BE%E6%B3%A8%E6%84%8F%E5%8A%9B%E7%BD%91%E7%BB%9C"><span class="toc-number">1.2.5.</span> <span class="toc-text">图注意力网络</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%9B%BE%E8%87%AA%E7%BC%96%E7%A0%81%E5%99%A8"><span class="toc-number">1.2.6.</span> <span class="toc-text">图自编码器</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%9B%BE%E7%94%9F%E6%88%90%E7%BD%91%E7%BB%9C"><span class="toc-number">1.2.7.</span> <span class="toc-text">图生成网络</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%95%B0%E6%8D%AE%E9%9B%86"><span class="toc-number">1.2.8.</span> <span class="toc-text">数据集</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E4%B8%AA%E4%BA%BA%E5%BF%83%E5%BE%97%E4%BB%A5%E5%8F%8A%E8%AF%84%E4%BB%B7"><span class="toc-number">1.2.9.</span> <span class="toc-text">个人心得以及评价</span></a><ol class="toc-child"><li class="toc-item toc-level-4"><a class="toc-link" href="#%E4%B8%AA%E4%BA%BA%E5%BF%83%E5%BE%97"><span class="toc-number">1.2.9.1.</span> <span class="toc-text">个人心得</span></a></li></ol></li></ol></li><li class="toc-item toc-level-2"><a class="toc-link" href="#graph-neural-networks-a-review-of-methods-and-applications"><span class="toc-number">1.3.</span> <span class="toc-text">Graph
neural networks: A review of methods and applications</span></a><ol class="toc-child"><li class="toc-item toc-level-3"><a class="toc-link" href="#introduction-1"><span class="toc-number">1.3.1.</span> <span class="toc-text">INTRODUCTION</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%BC%95%E8%A8%80-1"><span class="toc-number">1.3.2.</span> <span class="toc-text">引言</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#gnn%E6%80%8E%E4%B9%88%E5%88%9B%E9%80%A0%E7%9A%84"><span class="toc-number">1.3.3.</span> <span class="toc-text">GNN怎么创造的？</span></a><ol class="toc-child"><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%AD%A5%E9%AA%A4%E6%8F%90%E5%8F%96%E5%9B%BE%E7%BB%93%E6%9E%84"><span class="toc-number">1.3.3.1.</span> <span class="toc-text">步骤：提取图结构</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%AD%A5%E9%AA%A4%E7%95%8C%E5%AE%9A%E5%9B%BE%E7%9A%84%E7%B1%BB%E5%88%AB%E5%92%8C%E8%A7%84%E6%A8%A1"><span class="toc-number">1.3.3.2.</span> <span class="toc-text">步骤：界定图的类别和规模</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E8%AE%BE%E8%AE%A1%E6%8D%9F%E5%A4%B1%E5%87%BD%E6%95%B0"><span class="toc-number">1.3.3.3.</span> <span class="toc-text">设计损失函数</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E4%BD%BF%E7%94%A8%E8%AE%A1%E7%AE%97%E6%A8%A1%E5%9D%97%E6%9E%84%E5%BB%BA%E5%9B%BE%E6%A8%A1%E5%9E%8B"><span class="toc-number">1.3.3.4.</span> <span class="toc-text">使用计算模块构建图模型</span></a></li></ol></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%9C%AC%E6%96%87%E6%9C%80%E5%85%B7%E5%88%9B%E6%96%B0%E6%80%A7%E7%9A%84%E5%B7%A5%E4%BD%9C"><span class="toc-number">1.3.4.</span> <span class="toc-text">本文最具创新性的工作</span></a><ol class="toc-child"><li class="toc-item toc-level-4"><a class="toc-link" href="#%E7%A9%BA%E5%9F%9F%E6%96%B9%E6%B3%95%E7%9A%84%E9%80%9A%E7%94%A8%E6%A1%86%E6%9E%B6"><span class="toc-number">1.3.4.1.</span> <span class="toc-text">空域方法的通用框架</span></a></li></ol></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E5%BA%94%E7%94%A8%E5%9C%BA%E6%99%AF"><span class="toc-number">1.3.5.</span> <span class="toc-text">应用场景</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E6%9C%AC%E6%96%87%E6%89%80%E6%9E%84%E6%83%B3%E7%9A%84%E5%9B%9B%E5%A4%A7%E6%96%B9%E5%90%91"><span class="toc-number">1.3.6.</span> <span class="toc-text">本文所构想的四大方向</span></a></li><li class="toc-item toc-level-3"><a class="toc-link" href="#%E4%B8%AA%E4%BA%BA%E5%BF%83%E5%BE%97%E4%BB%A5%E5%8F%8A%E8%AF%84%E4%BB%B7-1"><span class="toc-number">1.3.7.</span> <span class="toc-text">个人心得以及评价</span></a></li></ol></li></ol></li></ol></div></div><div class="card-widget card-recent-post"><div class="item-headline"><i class="fas fa-history"></i><span>最新文章</span></div><div class="aside-list"><div class="aside-list-item"><a class="thumbnail" href="/2023/06/24/An%20Intelligent%20Mobile%20Prediction%20method/" title="An Intelligent Mobile Prediction method with Mini-batch HTIA-based Seq2Seq Networks"><img src="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/model_00.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="An Intelligent Mobile Prediction method with Mini-batch HTIA-based Seq2Seq Networks"/></a><div class="content"><a class="title" href="/2023/06/24/An%20Intelligent%20Mobile%20Prediction%20method/" title="An Intelligent Mobile Prediction method with Mini-batch HTIA-based Seq2Seq Networks">An Intelligent Mobile Prediction method with Mini-batch HTIA-based Seq2Seq Networks</a><time datetime="2023-06-23T16:00:00.000Z" title="发表于 2023-06-24 00:00:00">2023-06-24</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2023/03/05/%E5%A6%82%E4%BD%95%E8%8E%B7%E5%8F%96%E4%BD%A0%E4%B8%AA%E4%BA%BA%E8%B4%A6%E5%8F%B7%E7%9A%84openai%E7%9A%84api/" title="无题"><img src="/img/rick1.jpg" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="无题"/></a><div class="content"><a class="title" href="/2023/03/05/%E5%A6%82%E4%BD%95%E8%8E%B7%E5%8F%96%E4%BD%A0%E4%B8%AA%E4%BA%BA%E8%B4%A6%E5%8F%B7%E7%9A%84openai%E7%9A%84api/" title="无题">无题</a><time datetime="2023-03-05T05:57:17.050Z" title="发表于 2023-03-05 13:57:17">2023-03-05</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2023/03/04/%E4%B8%89%E5%88%86%E9%92%9F4%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%9E%84%E5%BB%BAchatgpt%20webapp,%E6%94%AF%E6%8C%81%E9%AB%98%E5%B9%B6%E5%8F%91%E4%BB%A5%E5%8F%8A%E4%B8%8A%E4%B8%8B%E6%96%87%E5%AF%B9%E8%AF%9D%E5%8A%9F%E8%83%BD/" title="三分钟4行命令构建chatgpt webapp,支持高并发以及上下文对话功能"><img src="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/image-20230305093941469.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="三分钟4行命令构建chatgpt webapp,支持高并发以及上下文对话功能"/></a><div class="content"><a class="title" href="/2023/03/04/%E4%B8%89%E5%88%86%E9%92%9F4%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%9E%84%E5%BB%BAchatgpt%20webapp,%E6%94%AF%E6%8C%81%E9%AB%98%E5%B9%B6%E5%8F%91%E4%BB%A5%E5%8F%8A%E4%B8%8A%E4%B8%8B%E6%96%87%E5%AF%B9%E8%AF%9D%E5%8A%9F%E8%83%BD/" title="三分钟4行命令构建chatgpt webapp,支持高并发以及上下文对话功能">三分钟4行命令构建chatgpt webapp,支持高并发以及上下文对话功能</a><time datetime="2023-03-03T16:00:00.000Z" title="发表于 2023-03-04 00:00:00">2023-03-04</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2023/03/03/%E5%A4%9A%E6%A0%87%E7%AD%BE%E5%88%86%E7%B1%BB%E7%9A%84CrossEntropyLoss%E5%88%B0%E5%BA%95%E9%9C%80%E4%B8%8D%E9%9C%80%E8%A6%81One-Hot%E7%BC%96%E7%A0%81/" title="多标签分类的CrossEntropyLoss到底需不需要One-Hot编码"><img src="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/image-20230303211538791.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="多标签分类的CrossEntropyLoss到底需不需要One-Hot编码"/></a><div class="content"><a class="title" href="/2023/03/03/%E5%A4%9A%E6%A0%87%E7%AD%BE%E5%88%86%E7%B1%BB%E7%9A%84CrossEntropyLoss%E5%88%B0%E5%BA%95%E9%9C%80%E4%B8%8D%E9%9C%80%E8%A6%81One-Hot%E7%BC%96%E7%A0%81/" title="多标签分类的CrossEntropyLoss到底需不需要One-Hot编码">多标签分类的CrossEntropyLoss到底需不需要One-Hot编码</a><time datetime="2023-03-02T16:00:00.000Z" title="发表于 2023-03-03 00:00:00">2023-03-03</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/2023/02/28/GPTEX---%E4%B8%BAChatGPT%E8%80%8C%E7%94%9F%E7%9A%84latex%E8%BD%AF%E4%BB%B6/" title="GPTEX---为ChatGPT而生的latex软件"><img src="https://nmhjklnm.oss-cn-beijing.aliyuncs.com/article-img/img/image-20230228145723183.png" onerror="this.onerror=null;this.src='/img/404.jpg'" alt="GPTEX---为ChatGPT而生的latex软件"/></a><div class="content"><a class="title" href="/2023/02/28/GPTEX---%E4%B8%BAChatGPT%E8%80%8C%E7%94%9F%E7%9A%84latex%E8%BD%AF%E4%BB%B6/" title="GPTEX---为ChatGPT而生的latex软件">GPTEX---为ChatGPT而生的latex软件</a><time datetime="2023-02-27T16:00:00.000Z" title="发表于 2023-02-28 00:00:00">2023-02-28</time></div></div></div></div></div></div></main><footer id="footer"><div id="footer-wrap"><div class="copyright">&copy;2022 - 2023 By 杨一赫</div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="readmode" type="button" title="阅读模式"><i class="fas fa-book-open"></i></button><button id="darkmode" type="button" title="浅色和深色模式转换"><i class="fas fa-adjust"></i></button><button id="hide-aside-btn" type="button" title="单栏和双栏切换"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside_config" type="button" title="设置"><i class="fas fa-cog fa-spin"></i></button><button class="close" id="mobile-toc-button" type="button" title="目录"><i class="fas fa-list-ul"></i></button><button id="chat_btn" type="button" title="聊天"><i class="fas fa-sms"></i></button><a id="to_comment" href="#post-comment" title="直达评论"><i class="fas fa-comments"></i></a><button id="go-up" type="button" title="回到顶部"><i class="fas fa-arrow-up"></i></button></div></div><div id="local-search"><div class="search-dialog"><nav class="search-nav"><span class="search-dialog-title">搜索</span><span id="loading-status"></span><button class="search-close-button"><i class="fas fa-times"></i></button></nav><div class="is-center" id="loading-database"><i class="fas fa-spinner fa-pulse"></i><span>  数据库加载中</span></div><div class="search-wrap"><div id="local-search-input"><div class="local-search-box"><input class="local-search-box--input" placeholder="搜索文章" type="text"/></div></div><hr/><div id="local-search-results"></div></div></div><div id="search-mask"></div></div><div><script src="/js/utils.js"></script><script src="/js/main.js"></script><script src="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox.umd.min.js"></script><script src="/js/search/local-search.js"></script><div class="js-pjax"><script>if (!window.MathJax) {
  window.MathJax = {
    tex: {
      inlineMath: [ ['$','$'], ["\\(","\\)"]],
      tags: 'ams'
    },
    chtml: {
      scale: 1.1
    },
    options: {
      renderActions: {
        findScript: [10, doc => {
          for (const node of document.querySelectorAll('script[type^="math/tex"]')) {
            const display = !!node.type.match(/; *mode=display/)
            const math = new doc.options.MathItem(node.textContent, doc.inputJax[0], display)
            const text = document.createTextNode('')
            node.parentNode.replaceChild(text, node)
            math.start = {node: text, delim: '', n: 0}
            math.end = {node: text, delim: '', n: 0}
            doc.math.push(math)
          }
        }, ''],
        insertScript: [200, () => {
          document.querySelectorAll('mjx-container').forEach(node => {
            if (node.hasAttribute('display')) {
              btf.wrap(node, 'div', { class: 'mathjax-overflow' })
            } else {
              btf.wrap(node, 'span', { class: 'mathjax-overflow' })
            }
          });
        }, '', false]
      }
    }
  }
  
  const script = document.createElement('script')
  script.src = 'https://cdn.jsdelivr.net/npm/mathjax/es5/tex-mml-chtml.min.js'
  script.id = 'MathJax-script'
  script.async = true
  document.head.appendChild(script)
} else {
  MathJax.startup.document.state(0)
  MathJax.texReset()
  MathJax.typeset()
}</script><script>(() => {
  const $mermaidWrap = document.querySelectorAll('#article-container .mermaid-wrap')
  if ($mermaidWrap.length) {
    window.runMermaid = () => {
      window.loadMermaid = true
      const theme = document.documentElement.getAttribute('data-theme') === 'dark' ? 'dark' : 'default'

      Array.from($mermaidWrap).forEach((item, index) => {
        const mermaidSrc = item.firstElementChild
        const mermaidThemeConfig = '%%{init:{ \'theme\':\'' + theme + '\'}}%%\n'
        const mermaidID = 'mermaid-' + index
        const mermaidDefinition = mermaidThemeConfig + mermaidSrc.textContent
        mermaid.mermaidAPI.render(mermaidID, mermaidDefinition, (svgCode) => {
          mermaidSrc.insertAdjacentHTML('afterend', svgCode)
        })
      })
    }

    const loadMermaid = () => {
      window.loadMermaid ? runMermaid() : getScript('https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js').then(runMermaid)
    }

    window.pjax ? loadMermaid() : document.addEventListener('DOMContentLoaded', loadMermaid)
  }
})()</script><script>function addGitalkSource () {
  const ele = document.createElement('link')
  ele.rel = 'stylesheet'
  ele.href= 'https://cdn.jsdelivr.net/npm/gitalk/dist/gitalk.min.css'
  document.getElementsByTagName('head')[0].appendChild(ele)
}

function loadGitalk () {
  function initGitalk () {
    var gitalk = new Gitalk(Object.assign({
      clientID: '5a73aec03d8a0aeb971f',
      clientSecret: '54ad1c8adab95b382d582c73e9f597781de43525',
      repo: 'comment',
      owner: 'nmhjklnm',
      admin: ['nmhjklnm'],
      id: '3d92c2e2038470cfa70f1471f76b1703',
      updateCountCallback: commentCount
    },null))

    gitalk.render('gitalk-container')
  }

  if (typeof Gitalk === 'function') initGitalk()
  else {
    addGitalkSource()
    getScript('https://cdn.jsdelivr.net/npm/gitalk/dist/gitalk.min.js').then(initGitalk)
  }
}

function commentCount(n){
  let isCommentCount = document.querySelector('#post-meta .gitalk-comment-count')
  if (isCommentCount) {
    isCommentCount.innerHTML= n
  }
}

if ('Gitalk' === 'Gitalk' || !false) {
  if (false) btf.loadComment(document.getElementById('gitalk-container'), loadGitalk)
  else loadGitalk()
} else {
  function loadOtherComment () {
    loadGitalk()
  }
}</script></div><script defer="defer" id="fluttering_ribbon" mobile="true" src="https://cdn.jsdelivr.net/npm/butterfly-extsrc/dist/canvas-fluttering-ribbon.min.js"></script><script src="//code.tidio.co/6zvu6bgfljrvvv9rw1y7hzehoriklr03.js" async="async"></script><script>function onTidioChatApiReady() {
  window.tidioChatApi.hide();
  window.tidioChatApi.on("close", function() {
    window.tidioChatApi.hide();
  });
}
if (window.tidioChatApi) {
  window.tidioChatApi.on("ready", onTidioChatApiReady);
} else {
  document.addEventListener("tidioChat-ready", onTidioChatApiReady);
}

var chatBtnFn = () => {
  document.getElementById("chat_btn").addEventListener("click", function(){
    window.tidioChatApi.show();
    window.tidioChatApi.open();
  });
}
chatBtnFn()
</script><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.css" media="print" onload="this.media='all'"><script src="https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.js"></script><script src="https://cdn.jsdelivr.net/npm/butterfly-extsrc/metingjs/dist/Meting.min.js"></script><script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script></div></body></html>